]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Fix an incorrect signal check
authorJonas Dreßler <verdre@v0yd.nl>
Fri, 20 Sep 2019 09:37:26 +0000 (11:37 +0200)
committerJonas Dreßler <verdre@v0yd.nl>
Fri, 20 Sep 2019 09:50:24 +0000 (11:50 +0200)
While commit 3094f863 was intended to cancel the ongoing idle hide
timeout before we start a new one, a mistake slipped in there while
rebasing: Obviously we should check if the signal id is NOT 0 here.

This didn't prevent timeouts being started while old ones are still
running and did override `this._idleHideOverlayId`, which caused the old
timeouts to run indefinitely after an overlay actor was destroyed
because we fail early (and don't return TRUE) in `_idleHideOverlay()`.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/735

js/ui/workspace.js

index 31779283205975a3c77c6d2b5b3b513ae47d13dd..a93b19add9f7b73b622e2620fefd9d8d721b2ae6 100644 (file)
@@ -684,7 +684,7 @@ var WindowOverlay = class {
     }
 
     _onHideChrome() {
-        if (this._idleHideOverlayId == 0)
+        if (this._idleHideOverlayId > 0)
             GLib.source_remove(this._idleHideOverlayId);
 
         this._idleHideOverlayId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, WINDOW_OVERLAY_IDLE_HIDE_TIMEOUT, this._idleHideOverlay.bind(this));